package com.monster.admin.user.infrastructure.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.TableComment;
import com.gitee.sunchenbin.mybatis.actable.annotation.Unique;
import com.monster.starter.core.common.entity.BaseEntity;
import lombok.Data;

/**
 * 用户信息表
 *
 * @author kuang
 */
@Data
@TableName
@TableComment("用户信息表")
public class SysUser extends BaseEntity {
    /**
     * 用户编码
     */
    @Unique
    @TableField
    @Column(length = 32, isNull = false, comment = "用户编码")
    private String code;
    /**
     * 用户姓名
     */
    @TableField
    @Column(length = 50, isNull = false, comment = "用户名称")
    private String name;
    /**
     * 昵称
     */
    @TableField
    @Column(length = 50, isNull = false, comment = "昵称")
    private String petName;
    /**
     * 身份证号码
     */
    @Unique
    @TableField
    @Column(length = 20, comment = "身份证号码")
    private String idCard;
    /**
     * 性别
     */
    @TableField
    @Column(comment = "性别")
    private int sex;
    /**
     * 生日
     */
    @TableField
    @Column(length = 20, comment = "生日")
    private String birthday;
    /**
     * 邮箱
     */
    @Unique
    @TableField
    @Column(length = 100, comment = "邮箱")
    private String email;
    /**
     * 电话
     */
    @Unique
    @TableField
    @Column(length = 15, comment = "电话")
    private String tel;
    /**
     * 个性签名
     */
    @TableField
    @Column(length = 500, comment = "个性签名")
    private String signature;
    /**
     * 账户是否未过期
     */
    @TableField
    @Column(comment = "账户是否未过期")
    private boolean accountNonExpired;
    /**
     * 账户是否未锁定
     */
    @TableField
    @Column(comment = "账户是否未锁定")
    private boolean accountNonLocked;
    /**
     * 凭证是否未过期
     */
    @TableField
    @Column(comment = "凭证是否未过期")
    private boolean credentialsNonExpired;
    /**
     * 账户是否可用
     */
    @TableField
    @Column(comment = "账户是否可用")
    private boolean enabled;
}
